package com.sdses.weather.factory;

import com.fasterxml.jackson.databind.JsonNode;
import com.sdses.weather.model.RequestContext;

import java.util.Map;

public interface WeatherApiProvider {

    String getProviderName();

    Map<String, String> buildHeaders(RequestContext context);

    Map<String, String> buildFormParams(RequestContext context);

    default Map<String, String> buildJsonBody(RequestContext context) {
        return null;
    }

    String buildUrl(RequestContext context);

    void checkResponse(JsonNode responseNode);
}